Para++: C++ Bindings for Message Passing N ˚ 3116 Para++: C++ Bindings for Message Passing Para++ : Une Interface Pour L'´ Echange De Messages
نویسندگان
چکیده
This paper describes a high level C++ library for message passing applications. Our interface is build on top of PVM and MPI. The goal of this interface is to allow a quicker design of parallel applications without any important drop of performances. We introduce two levels of tasks and use C++ streams for communications. We also present a performance study over both PVM and MPI to show the overhead of our implementation. Finally, we detail two applications based on the heat equation to explain how our library can be used for SPMD and MPMD applications. Résumé : Ce papier décrit une interface C++ de haut niveau pour la programmation paréchange de messages. Cette interface est implantée au dessus de PVM et MPI. L'idée de cette interface est de permettre le développement rapide d'applicationsparalì eles sans introduire de chute de performances notable. Nous définissons une hiérarchiè a deux niveaux entre tâches et utilisons le mécanisme de " stream " C++ pour les communications. Nous présentons aussi ici uné etude de performances au dessus des deux implantations PVM et MPI pour mesurer le surcoût introduit par Para++. Enfin, nous détaillons deux applications basées sur la résolution de l'´ equation de la cha-leur pour expliquer concrètement comment notre bibliothèque C++ peutêtre utiliséè a la fois dans le cadre d'application SPMD et MPMD.
منابع مشابه
PARA++ : C++ Bindings for Message Passing Libraries
The aim of Para++ is to provide a user-level C++ interface to message passing libraries, by encapsulating the notions of processes and inter-processes communications into specificC++ objects and streams. Actually, this abstraction level allows to implement Para++ with any kind of message passing library. Para++’s main idea is to add new C++ io-streams allowing inter-tasks communications. These ...
متن کاملThe Design and Evolution of the MPI-2 C++ Interface
The original specification for the Message Passing Interface (MPI) included language bindings for C and Fortran 77. C++ programs that used MPI were thus required to use the C bindings. With MPI-2, a C++ interface for all of MPI is specified. In this paper, we describe the design of the C++ interface for MPI and provide some of the history and motivations behind the design decisions.
متن کاملA Case for New MPI Fortran Bindings
Abstract. The Fortran language has evolved substantially from the Fortran 77 bindings defined in the MPI-1 (Message Passing Interface) standard. Fortran 90 introduced interface blocks; subsequently, the MPI-2 standard defined Fortran 90 bindings with explicit Fortran interfaces to MPI routines. In this paper, we describe the Open MPI implementation of these two sets of Fortran bindings and poin...
متن کاملObject Oriented MPI (OOMPI): A Class Library for the Message Passing Interface
Using the Message Passing Interface (MPI) in C++ has been difficult to this point because of the lack of suitable C++ bindings and C++ class libraries. The existing MPI standard provides language bindings only for C and Fortran 77, precluding their direct use in object oriented programming. Even the proposed C++ bindings in MPI-2 are at a fairly low-level and are not directly suitable for objec...
متن کاملShared Virtual Memory and Message Passing Programming on a Finite Element Application
This paper describes the methods used and experiences made with implementing a nite element application on three diierent parallel computers with either message passing or shared virtual memory as the programming model. Designing a parallel nite element application using message-passing requires to nd a data domain decomposition to map data into the local memory of the processors. Since data ac...
متن کامل